package com.guigu.pojo.manufacture;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 
 * </p>
 *
 * @author Mr.Zhang
 * @since 2024-12-06
 */
@Data
@TableName("M_PROCEDURE")
public class MProcedure implements Serializable {

    private static final long serialVersionUID=1L;

    //@apiModelProperty(value = "序号，唯一标识生产工序表记录，自增长")
      @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    //@apiModelProperty(value = "父级序号，关联生产总表，不可为空，建立父子关系，明确工序所属生产任务")
    @TableField("PARENT_ID")
    private Integer parentId;

    //@apiModelProperty(value = "工序序号，不可为空，标识工序顺序，确定工序在生产流程中的位置")
    @TableField("DETAILS_NUMBER")
    private Integer detailsNumber;

    //@apiModelProperty(value = "工序编号，不可为空，唯一标识工序，用于工序管理与追踪")
    @TableField("PROCEDURE_ID")
    private String procedureId;

    //@apiModelProperty(value = "工序名称，可空，便于人工识别工序内容")
    @TableField("PROCEDURE_NAME")
    private String procedureName;

    //@apiModelProperty(value = "设计工时数，可空，预估工序所需工时，用于成本与进度估算")
    @TableField("LABOUR_HOUR_AMOUNT")
    private BigDecimal labourHourAmount;

    //@apiModelProperty(value = "实际工时数，可空，记录工序实际耗费工时，与设计工时比对分析")
    @TableField("REAL_LABOUR_HOUR_AMOUNT")
    private BigDecimal realLabourHourAmount;

    //@apiModelProperty(value = "设计工时成本，可空，计算设计工时成本，LABOUR_HOUR_AMOUNT * 单位工时成本")
    @TableField("SUBTOTAL")
    private BigDecimal subtotal;

    //@apiModelProperty(value = "实际工时成本，可空，计算实际工时成本，REAL_LABOUR_HOUR_AMOUNT * 单位工时成本")
    @TableField("REAL_SUBTOTAL")
    private BigDecimal realSubtotal;

    //@apiModelProperty(value = "设计物料成本，可空，汇总工序设计物料成本，关联物料表计算")
    @TableField("MODULE_SUBTOTAL")
    private BigDecimal moduleSubtotal;

    //@apiModelProperty(value = "实际物料成本，可空，汇总工序实际物料成本，依据物料领用记录核算")
    @TableField("REAL_MODULE_SUBTOTAL")
    private BigDecimal realModuleSubtotal;

    //@apiModelProperty(value = "单位工时成本，可空，确定单位工时价值，计算工时成本关键指标")
    @TableField("COST_PRICE")
    private BigDecimal costPrice;

    //@apiModelProperty(value = "工序投产数量，可空，计划投入工序的产品数量，生产安排依据")
    @TableField("DEMAND_AMOUNT")
    private BigDecimal demandAmount;

    //@apiModelProperty(value = "工序合格数量，可空，实际产出合格产品数量，衡量工序质量与效率")
    @TableField("REAL_AMOUNT")
    private BigDecimal realAmount;

    //@apiModelProperty(value = "工序完成标志，如未完成0、已完成1、未审核2、已审核3，不可为空，监控工序进度状态")
    @TableField("PROCEDURE_FINISH_TAG")
    private String procedureFinishTag;

    //@apiModelProperty(value = "工序交接标志，如未交接0、已交接1、未审核2、已审核3，不可为空，把控工序交接流程")
    @TableField("PROCEDURE_TRANSFER_TAG")
    private String procedureTransferTag;


}
